<?php
namespace app\api\service;
use think\Controller;
use think\Loader;

class Upload extends Controller {

    // 上传图片   根据type 划分目录
    static public function upload_image($param) {
        $files = request()->file('img');

        if (count($files) > 1) {
            foreach($files as $file){
                $dir = $param['type'] ? $param['type'] : 'images';

                $info = $file->validate(['size'=>5242880])->move(ROOT_PATH . 'public' . DS . 'uploads' . DS . $dir);
                if($info){
                    $img_path[] =  DS . 'uploads' . DS . $dir . DS . $info->getSaveName();
                }else{
                    // 上传失败获取错误信息
                    return ['code' => 0, 'msg' => $file->getError()];
                }
            }
        } else {
            $dir = $param['type'] ? $param['type'] : 'images';

            $info = $files->validate(['size'=>5242880])->move(ROOT_PATH . 'public' . DS . 'uploads' . DS . $dir);
            if($info){
                $img_path[] =  DS . 'uploads' . DS . $dir . DS . $info->getSaveName();
            }else{
                // 上传失败获取错误信息
                return ['code' => 0, 'msg' => $files->getError()];
            } 
        }

        if (count($img_path) == 1) {
            return ['code' => 200, 'msg' => 'SUCCESS', 'data' => ['path' => str_replace("\\","/",$img_path[0])]];
        } elseif (count($img_path) > 1) {
            return ['code' => 200, 'msg' => 'SUCCESS', 'data' => ['paths' => $img_path]];
        } else {
            return ['code' => 400135, 'msg' => 'FAULT'];
        }

//        if($info) {
////            $image = \think\Image::open(DS . 'uploads' . DS . $dir . DS . $info->getSaveName());
////            // 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.png
////            $image->thumb(960, 1704)->save(DS . 'uploads' . DS . $dir . DS . '960-1704' . DS . $info->getSaveName());
////            $image->thumb(640, 1136)->save(DS . 'uploads' . DS . $dir . DS . '640-1136' . DS . $info->getSaveName());
//
//            $img_path =  DS . 'uploads' . DS . $dir . DS . $info->getSaveName();
//
//        } else {
//            return ['code' => 0, 'msg' => $file->getError()];
//        }
    }

}





